
/**
  ******************************************************************************
  * @file    usart.h
  * @author  TONLY
  * @version V1.0
  * @date    2022-01-01
  * @brief   模板操作
  ******************************************************************************
  * @attention
  *
  *	本程序只供学习使用，未经作者许可，不得用于其它任何用途
  *	版权所有，盗版必究
  *
  * <h2><center>&copy; COPYRIGHT 2022 华清-TONLY </center></h2>
  ******************************************************************************
  */ 

/* Define to prevent recursive inclusion -------------------------------------*/ 
#ifndef __USART_H
#define __USART_H	


/* Includes ------------------------------------------------------------------*/
#include "sys.h"

/* Exported define ----------------- -----------------------------------------*/
#define SYSTEM_USE_USART1		1		//系统使用串口1		1:使用	0:不使用
#define SYSTEM_USE_USART2		1		//系统使用串口2		1:使用	0:不使用
#define SYSTEM_USE_USART3		1		//系统使用串口3		1:使用	0:不使用
#define SYSTEM_USE_UART4		0		//系统使用串口4		1:使用	0:不使用
#define SYSTEM_USE_UART5		0		//系统使用串口5		1:使用	0:不使用

#define PRINTF_USART			USART1	//printf使用USART1发送数据
#define SYSTEM_USE_PRINTF		1		//系统是否使用printf  1:使用  0:不使用
#define USART1_USE_NVIC			0		//串口是否使用中断    1:使用  0:不使用
#define USART2_USE_NVIC			1		//串口是否使用中断    1:使用  0:不使用
#define USART3_USE_NVIC			0		//串口是否使用中断    1:使用  0:不使用
#define UART4_USE_NVIC			0		//串口是否使用中断    1:使用  0:不使用
#define UART5_USE_NVIC			0		//串口是否使用中断    1:使用  0:不使用


/* Exported functions ------------------------------------------------------- */
#if SYSTEM_USE_USART1
	extern void USART1_Init(u32 bound);		/* 串口1初始化  bound:波特率 */
#endif /* SYSTEM_USE_USART1 */

#if SYSTEM_USE_USART2
	extern void USART2_Init(u32 bound);		/* 串口2初始化  bound:波特率 */
#endif /* SYSTEM_USE_USART2 */

#if SYSTEM_USE_USART3
	extern void USART3_Init(u32 bound);		/* 串口3初始化  bound:波特率 */
#endif /* SYSTEM_USE_USART3 */

#if SYSTEM_USE_UART4
	extern void UART4_Init(u32 bound);		/* 串口4初始化  bound:波特率 */
#endif /* SYSTEM_USE_UART4 */

#if SYSTEM_USE_UART5
	extern void UART5_Init(u32 bound);		/* 串口5初始化  bound:波特率 */
#endif /* SYSTEM_USE_UART5 */

//发送多个字节数据
extern void USART_Send_NByte(USART_TypeDef* USARTx,u8 *ch,u32 size); 

//发送字符串
extern void USART_Send_String(USART_TypeDef* USARTx,char *ch); 

void USART_printf ( USART_TypeDef * USARTx, char * Data, ... );

void PrintComBit(USART_TypeDef* USARTx, uint8_t Data);
#endif /* __USART_H */


/******************* (C) COPYRIGHT 2022 华清-TONLY *************END OF FILE****/
